# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.1081+1.1069.1.28 -> 1.1082 # include/asm-ia64/page.h 1.6.1.2 -> 1.9 # include/asm-ia64/processor.h 1.16.3.7 -> 1.27 # arch/ia64/mm/init.c 1.7.4.3 -> 1.18 # arch/ia64/kernel/acpi.c 1.6.3.13 -> 1.28 # diff -Nru a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c --- a/arch/ia64/kernel/acpi.c Wed Oct 8 09:06:18 2003 +++ b/arch/ia64/kernel/acpi.c Wed Oct 8 09:06:18 2003 @@ -817,4 +817,22 @@ return gsi_to_vector(irq); } +int +acpi_register_irq (u32 gsi, u32 polarity, u32 trigger) +{ + int vector = 0; + + if (has_8259 && gsi < 16) + return isa_irq_to_vector(gsi); + + if (!iosapic_register_intr) + return 0; + + /* Turn it on */ + vector = iosapic_register_intr(gsi, + (polarity == ACPI_ACTIVE_HIGH) ? IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW, + (trigger == ACPI_EDGE_SENSITIVE) ? IOSAPIC_EDGE : IOSAPIC_LEVEL); + return vector; +} + #endif /* CONFIG_ACPI_BOOT */ diff -Nru a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c --- a/arch/ia64/mm/init.c Wed Oct 8 09:06:18 2003 +++ b/arch/ia64/mm/init.c Wed Oct 8 09:06:18 2003 @@ -28,9 +28,6 @@ #include #include #include -#include - -mmu_gather_t mmu_gathers[NR_CPUS]; /* References to section boundaries: */ extern char _stext, _etext, _edata, __init_begin, __init_end; diff -Nru a/include/asm-ia64/page.h b/include/asm-ia64/page.h --- a/include/asm-ia64/page.h Wed Oct 8 09:06:18 2003 +++ b/include/asm-ia64/page.h Wed Oct 8 09:06:18 2003 @@ -31,6 +31,33 @@ #define PAGE_ALIGN(addr) (((addr) + PAGE_SIZE - 1) & PAGE_MASK) #define RGN_MAP_LIMIT ((1UL << (4*PAGE_SHIFT - 12)) - PAGE_SIZE) /* per region addr limit */ +#ifdef CONFIG_HUGETLB_PAGE +#if defined(CONFIG_HUGETLB_PAGE_SIZE_4GB) +#define HPAGE_SHIFT 32 +#elif defined(CONFIG_HUGETLB_PAGE_SIZE_1GB) +#define HPAGE_SHIFT 30 +#elif defined(CONFIG_HUGETLB_PAGE_SIZE_256MB) +#define HPAGE_SHIFT 28 +#elif defined(CONFIG_HUGETLB_PAGE_SIZE_64MB) +#define HPAGE_SHIFT 26 +#elif defined(CONFIG_HUGETLB_PAGE_SIZE_16MB) +#define HPAGE_SHIFT 24 +#elif defined(CONFIG_HUGETLB_PAGE_SIZE_4MB) +#define HPAGE_SHIFT 22 +#elif defined(CONFIG_HUGETLB_PAGE_SIZE_1MB) +#define HPAGE_SHIFT 20 +#elif defined(CONFIG_HUGETLB_PAGE_SIZE_256KB) +#define HPAGE_SHIFT 18 +#else +# error Unsupported IA-64 HugeTLB Page Size! +#endif + +#define REGION_HPAGE (4UL) +#define REGION_SHIFT 61 +#define HPAGE_SIZE (__IA64_UL_CONST(1) << HPAGE_SHIFT) +#define HPAGE_MASK (~(HPAGE_SIZE - 1)) +#define HAVE_ARCH_HUGETLB_UNMAPPED_AREA +#endif #ifdef __ASSEMBLY__ # define __pa(x) ((x) - PAGE_OFFSET) @@ -84,6 +111,14 @@ #define REGION_SIZE REGION_NUMBER(1) #define REGION_KERNEL 7 + +#ifdef CONFIG_HUGETLB_PAGE +#define htlbpage_to_page(x) ((REGION_NUMBER(x) << 61) | (REGION_OFFSET(x) >> (HPAGE_SHIFT-PAGE_SHIFT))) +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) +extern int is_invalid_hugepage_range(unsigned long addr, unsigned long len); +#else +#define is_invalid_hugepage_range(addr, len) 0 +#endif #define BUG() do { printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); *(int *)0=0; } while (0) #define PAGE_BUG(page) do { BUG(); } while (0) diff -Nru a/include/asm-ia64/processor.h b/include/asm-ia64/processor.h --- a/include/asm-ia64/processor.h Wed Oct 8 09:06:18 2003 +++ b/include/asm-ia64/processor.h Wed Oct 8 09:06:18 2003 @@ -172,6 +172,7 @@ __u32 ptce_count[2]; __u32 ptce_stride[2]; struct task_struct *ksoftirqd; /* kernel softirq daemon for this CPU */ + void *mmu_gathers; # ifdef CONFIG_PERFMON unsigned long pfm_syst_info; # endif